Recent years have seen the development of numerous online content item management services. Services such as Dropbox provided by Dropbox, Inc. of San Francisco, Calif. allow a user to synchronize content items between the user's personal computing devices, and share content items with other users.
As used herein, the terms “content item” and “content item file” are used interchangeably to refer to a logical collection of computer data. A content item may have a name and a type. One non-limiting example of a content item is a document such as, for example, a word processing document, a presentation document, a spreadsheet document, an e-mail message, a web page, or other document. Content items can also be other types of computer data such as, for example, digital image data, digital audio data, digital video data, and other digital media data. A content item file may be stored in a computer in a variety of different computer data container formats such as, for example, in a conventional operating system file system file or in one or more addressable blocks of database. When sent over a data network, a content item file may be divided into one or more network packets that are sent over the data network, each packet having at least a portion of the content item file.
At the same time as the rise of online content item management services, the data storage capacity of mobile computing devices has increased. For example, many of today's smart phones can store tens of gigabytes of data. At the current pace of technological and manufacturing advancement, smart phones may be able to store hundreds of gigabytes of data in the near future. As a result of this increased storage capacity, users are storing more and more data on their mobile computing devices. While the data storage capability of mobile computing device is increasing and will likely continue to increase for the foreseeable future, improvements in battery life and improvements in the time needed between charges have not kept pace.
As users store more and more data on their mobile computing devices, finding relevant or particular information among the data has become more difficult. Desktop search applications exist that allow users to keyword search for content items stored on their personal computing devices based on keywords extracted from the names and content of the content items. Such applications may create a keyword index of the content items for more efficient searching.
Unfortunately, current desktop search applications inadequately address the needs of users of online content item management services. For example, users of such services often synchronize content items between multiple personal computing devices. However, current desktop search applications typically provide indexing and searching capabilities on only one personal computing device. As another deficiency, current desktop search applications were designed on the assumption that the computing devices on which they execute operate on fixed power. As a result of this assumption, if executed on a mobile computing device that operates on battery power, they may inefficiently computer resources (e.g., CPU resources) crawling and indexing content item files.